package com.mlegrand.firestarter.util
{
	import flash.display.Graphics;
	import flash.display.InterpolationMethod;
	import flash.geom.Matrix;
	
	import mx.core.EdgeMetrics;
	import mx.skins.halo.HaloBorder;
	////////////////////////////////////////////////////////////////////////////
	// styles
	////////////////////////////////////////////////////////////////////////////



	public class GradientRoundedFillSkin extends HaloBorder
	{
		
		
		////////////////////////////////////////////////////////////////////////////
		// class initialization code
		////////////////////////////////////////////////////////////////////////////

		////////////////////////////////////////////////////////////////////////////
		// static constants
		////////////////////////////////////////////////////////////////////////////


		////////////////////////////////////////////////////////////////////////////
		// static variables (private/mx_internal)
		////////////////////////////////////////////////////////////////////////////
        
		////////////////////////////////////////////////////////////////////////////
		// static properties
		////////////////////////////////////////////////////////////////////////////

		////////////////////////////////////////////////////////////////////////////
		// static methods
		////////////////////////////////////////////////////////////////////////////

		////////////////////////////////////////////////////////////////////////////
		// static event handlers
		////////////////////////////////////////////////////////////////////////////

		////////////////////////////////////////////////////////////////////////////
		// constructor
		////////////////////////////////////////////////////////////////////////////

		public function GradientRoundedFillSkin(){}

		////////////////////////////////////////////////////////////////////////////
		// variables (private/mx_internal)
		////////////////////////////////////////////////////////////////////////////

		////////////////////////////////////////////////////////////////////////////
		// overridden properties
		////////////////////////////////////////////////////////////////////////////

		////////////////////////////////////////////////////////////////////////////
		// properties
		////////////////////////////////////////////////////////////////////////////

		////////////////////////////////////////////////////////////////////////////
		// overridden methods
		////////////////////////////////////////////////////////////////////////////

        override protected function updateDisplayList(w:Number, h:Number):void
        {
            super.updateDisplayList(w, h);    
            var g:Graphics = graphics;
            var border:EdgeMetrics = borderMetrics;
            var width:Number = w - border.left - border.right;
            var matrix : Matrix = new Matrix();
            matrix.createGradientBox( width, 400, (90* Math.PI/180) , 0, 0 );        
            g.beginGradientFill("linear", [0x888888, 0x656565] , [1,1] , [0,30] , matrix, "pad", InterpolationMethod.RGB  );
            g.drawRoundRectComplex( border.left, border.top, width, height, 10, 10, 10, 10 );
            g.endFill();
        }
		

		////////////////////////////////////////////////////////////////////////////
		// methods
		////////////////////////////////////////////////////////////////////////////


		// END: methods


		////////////////////////////////////////////////////////////////////////////
		// overridden event handlers
		////////////////////////////////////////////////////////////////////////////

		////////////////////////////////////////////////////////////////////////////
		// event handlers
		////////////////////////////////////////////////////////////////////////////
		
		
		

		
	}
}